package cn.js.sangu.unitStore.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import cn.js.sangu.unitStore.entity.Setting;
import java.util.List;

/**
 * 设置Mapper接口
 * 继承BaseMapper获得MyBatis Plus的CRUD功能
 */
@Mapper
public interface SettingMapper extends BaseMapper<Setting> {

    /**
     * 根据模块获取所有设置
     * 使用MyBatis Plus的Wrapper可以替代此方法，但保留以兼容现有代码
     */
    @Select("SELECT * FROM setting WHERE module = #{module}")
    List<Setting> getSettingsByModule(@Param("module") String module);

    /**
     * 根据键名获取设置
     * 使用MyBatis Plus的Wrapper可以替代此方法，但保留以兼容现有代码
     */
    @Select("SELECT * FROM setting WHERE `key` = #{key}")
    Setting getSettingByKey(@Param("key") String key);
}
